package edu.lingnan.springcloud.controller;

import edu.lingnan.springcloud.entity.Classes;
import edu.lingnan.springcloud.service.ClassesClientService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author wuyuan
 * @since 2020-06-08 10:27
 */
@RestController
public class ClassesConsumerController {
/**
*
*     消费者不需要Service
 *    支持Restful
 *    RestTemplate的api 供我们使用,使用@Bean注册到spring中即可
 *     (url，实体：map，class<T> responseType）
 *    提供多种便捷访问远程http服务的方法，简单的Restful服务模板
*/
//    @Resource
//    private RestTemplate restTemplate;
    /**
     * Ribbon: 这里的地址应该是动态的（变量），通过服务名（application）来访问
     * Ribbon 和 Eureka 整合后，客户端使用服务名来访问，不需要知道具体的ip地址或者域名
     */
//    private static final String REST_URL_PREFIX = "http://SPRINGCLOUD-PROVIDER-CLASSES";

    @Resource
    private ClassesClientService service = null;

    @RequestMapping("/consumer/classes/get/{id}")
    public Classes get(@PathVariable("id") int id){
        return this.service.selectById(id);
    }

    @RequestMapping("/consumer/classes/get")
    public List<Classes> list(){
     return this.service.queryAll();
    }

}
